/* 
 * File:   State.h
 * Author: mvdr
 *
 * Created on March 19, 2013, 3:30 PM
 */

#ifndef STATE_H
#define	STATE_H

#include <set>
#include <iostream>
#include <string>

class State {
    
    std::set<char> *d_cards;
    
public:
    State();
    State(const State& orig);
    virtual ~State();
    
    void setCards(int player, char c1, char c2);
    
    std::set<char> const &cards(int p) const;
    bool sameFor(State const &s, int p) const;
    std::string toString() const;
    
    friend std::ostream &operator<<(std::ostream& os, State const &st);
    
private:

};

inline std::set<char> const &State::cards(int p) const {
    return d_cards[p];
}



#endif	/* STATE_H */

